/**
 * 
 * 
 *  
 *====================================================
 * 文件名称: SysRightService.java
 * 修订记录：
 * No    日期				作者(操作:具体内容)
 * 1.    2010-2-3			
 *====================================================
 * 类描述：(说明未实现或其它不应生成javadoc的内容)
 * 
 */
package com.devframe.sysconfig.service;

import java.util.List;
import java.util.Map;
import java.util.Set;

import com.devframe.sysbase.model.TSysMenu;
import com.devframe.sysbase.model.TSysMenuFunc;
import com.devframe.sysbase.model.TSysOperatorLog;

/**
 *<pre><b><font color="blue">SysRightService</font></b></pre>
 *
 *<pre><b>&nbsp;--系统功能权限控制--</b></pre>
 * <pre></pre>
 * <pre>
 * <b>--样例--</b>
 *   SysRightService obj = new SysRightService();
 *   obj.method();
 * </pre>
 * JDK版本：JDK1.4
 * @author  <b></b> 
 */
public interface SysRightService {

    /**
     * 初始化功能菜单缓存
     * init
     * 
     */
    void init();

    /**
     * @return 菜单列表
     * 
     */
    List getAllMenuList();

    /**
     * @return 所有菜单功能URL列表
     * 
     */
    List getAllMenuUrlList();
    
    /**
     * 获取URL对应的权限代码，
     * 没有登记的URL自动记录到T_SYS_MENU_FUNC中，返回NULL
     * 有登记的则返回对应的MENU_CODE
     * @param url url
     * @return urlMap(URL,MENU_CODE,MENU_NAME)
     * 
     */
    Map getUrlMenu(String url);
    /**
     * getSysRightInfo
     * 获取权限信息，暂且先用MAP返回。
     * @param rightCode 权限代码
     * @return 权限信息
     * 
     */
    Map getSysRightInfo(String rightCode);
    
    /**
     * 
     * getMenu
     * @param menuCode menuCode
     * @return TSysMenu
     * 
     */
    
    TSysMenu getMenu(String menuCode);
    
    /**
     * getMenu
     * 查询单个功能对象
     * @param funcCode 功能代码
     * @return TSysMenuFunc
     * 
     */
    TSysMenuFunc getMenuFunc(String funcCode);
    
    /**
     * saveSysOperatorLog
     * @param opLog TSysOperatorLog
     * 
     */
    void saveSysOperatorLog(TSysOperatorLog opLog);
    
    /**
     * 
     * createUnKnownUrl
     * @param url url
     * 
     */
    void createUnKnownUrl(String url);
    
    /**
     * 获取	URL扩展参数
     * @return
     * @author:詹保山
     */
    public Set<String> getUrlExtraParamsNames();
    
    
    

}